package org.huangrui.spark.scala.core.rdd.operate

import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author hr
 * @Create 2024-10-17 1:58 
 */
object Spark04_Operate_Transform_FlatMap_1 {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[*]").setAppName("spark")
    val sc = new SparkContext(conf)
    val rdd = sc.textFile("data/test.txt")

    // TODO map方法只负责转换数据(A -> B[B1, B2, B3])，不能将数据拆分后独立使用
    //      line     => hadoop hive flume
    //      string[] => [hadoop, hive, flume]
    //      flatMap方法可以将数据拆分后独立使用（A -> B1, B2, B3）

    // val newRdd = rdd.map((line :String) => line.split(" "))
    val newRdd = rdd.flatMap((line: String) => line.split(" "))
    newRdd.collect().foreach(println)
    sc.stop()
  }
}
